package com.mallcloud.mall.mall.api.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mallcloud.mall.common.core.constant.enums.mall.PointsCouponEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@ApiModel(value = "XglQRCodePaymentCouponViewModel", description = "星光里二维码支付牌-电子券|手工券")
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("V_MSC_QLIST")
public class XglQRCodePaymentCouponViewModel implements Serializable {
	private static final long serialVersionUID = 1L;

    @ApiModelProperty("券序号")
    @TableId("VHEUCNO")
    private String id;

    @ApiModelProperty("会员卡号")
    @TableField("TCFTSEQNO")
    private String cardNo;

    @ApiModelProperty("手机号码")
    @TableField("VHEMOBILE")
    private String userPhone;

    @ApiModelProperty("券号")
    @TableField("VHETCFTVIPNO")
    private String couponNo;

    @ApiModelProperty("券金额")
    @TableField("VHEQJE")
    private String redeemMoney;

    @ApiModelProperty("券种类")
    @TableField("VHEQTYPE")
    private String type;

    @ApiModelProperty("券名称")
    @TableField("TQNAME")
    private String tqname;

	/**
	 * {@link PointsCouponEnum.StatusEnum}
	 */
    @ApiModelProperty("券状态")
    @TableField("VHEQSTATUS")
    private String status;

    @ApiModelProperty("开始日期")
    @TableField("VHESTARTDATE")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startDate;

    @ApiModelProperty("结束日期")
    @TableField("VHEENDDATE")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endDate;

    @ApiModelProperty("档期")
    @TableField("VHESTPID")
    private String scheduleId;

    @ApiModelProperty("档期名称")
    @TableField("VHESTPIDNAME")
    private String scheduleName;

    @ApiModelProperty("领取日期")
    @TableField("VHELQRQ")
    private String getTime;

    @ApiModelProperty("收券规则")
    @TableField("SQGZ")
    private String rule;

}
